home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 124 / XENIATGM124.iso / html / TGM Bazaar / database / navigazione.js < prev    next >
Text File  |  2001-09-06  |  4KB  |  168 lines

  1. //BEgin
  2.  
  3. loop=false;
  4. page=null;
  5. pageBase=null;
  6. t=0;
  7.  
  8. function browser(){
  9.  
  10.     //linka il layer
  11.     if (NN4)
  12.         page = eval(parent.frames[2].document.layers["contenuto"]);
  13.     if (IE4){
  14.         page = eval(parent.frames[2].document.all("contenuto").style);
  15.         pageBase = eval(parent.frames[2].document.all("contenuto"));
  16.         //window.alert(parent.frames[2].document.all("contenuto").style.top)
  17.         }
  18.  
  19. }//browser
  20.  
  21. //lancia lo scrolling verticale con un ritardo di un secondo
  22. function verScroll(dir, spd, loopIn) {
  23.  
  24.     direction=dir;
  25.     speed=spd;
  26.     loopInput=loopIn;
  27.     //inizializzo la funzione di time out
  28.     scrolltimer = null;
  29.     scrolltimer = setTimeout("scrollVerticale(direction, speed, loopInput)", 50);
  30.         
  31. }//verScroll
  32.  
  33. //controlla lo scrolling verticale
  34. function scrollVerticale(dir, spd, loopIn) {
  35. //function verScroll(dir, spd, loopIn) {
  36.  
  37.     //inizializzo la funzione di time out
  38.     scrolltimer = null;
  39.         
  40.     browser();
  41.             
  42.     loop=loopIn;
  43.     direction = dir;
  44.     speed = parseInt(spd);
  45.  
  46.     if (loop) {
  47.  
  48.         switch (direction){
  49.             case "dn": parent.frames[2].scrollBy(0, speed); break;
  50.             case "up": parent.frames[2].scrollBy(0, -speed); break;
  51.         }//switch
  52.     
  53.     }//while
  54.  
  55.     scrolltimer = setTimeout("scrollVerticale(direction, speed, true)", 1);
  56.  
  57. }//scrollVerticale
  58.    
  59. //blocca lo scrolling
  60. function stopScroll() {
  61.  
  62.     loop = false;
  63.     clearTimeout(scrolltimer);
  64. }
  65.  
  66. //la base del salto incondizionato
  67. function jump(where){
  68.  
  69.     browser();
  70.     if (NN4) page.moveToAbsolute(16, where);
  71.     if (IE4) page.top=where;
  72.  
  73. }//end jump
  74.  
  75. //la funzione richiamata dai pulsanti per far saltare a un determinato punto
  76. function go(nome){
  77.  
  78.     
  79.     browser();
  80.                 
  81.     if (NN4) ancore=page.document.anchors;
  82.     if (IE4) ancore=parent.frames[2].document.anchors;
  83.         //ancore=parent.frames[2].document.all("contenuto").document.anchors;
  84.     //window.alert("lunghezza: "+ancore.length);
  85.     
  86.     //window.alert("GO: "+parent.frames[2].document.anchors[0]);
  87.     
  88.     if (ancore.length>0){
  89.     
  90.         if (NN4){
  91.             delta=ancore[0].y;
  92.             deltaPrima=ancore[ancore.length-1].y;
  93.         }//if
  94.         if (IE4){
  95.             delta=ancore[0].parentElement.offsetTop;
  96.             deltaPrima=ancore[ancore.length-1].parentElement.offsetTop;        
  97.         }//if
  98.         trovata=false;
  99.         i=0;
  100.         posPagina=parseInt(pageBase.parentElement.scrollTop);
  101.     
  102.         //window.alert("offset dell'elemento: "+ancore[2].parentElement.offsetTop+"\nposPagina: "+posPagina);
  103.         //Percorrendo le ancore del documento due a due, memorizzo la posizione della prima
  104.         //ancora in vista
  105.         while ((!trovata)&&(i<ancore.length)){
  106.             
  107.             if (NN4){
  108.                 if (ancore[i].y<posPagina)
  109.                     deltaPrima=ancore[i].y;
  110.                 if (ancore[i].y>posPagina){
  111.                     delta=ancore[i].y;
  112.                     trovata=true;
  113.                 }//if
  114.             }//if
  115.             
  116.             if (IE4){
  117.                 if (ancore[i].parentElement.offsetTop<posPagina)
  118.                     deltaPrima=ancore[i].parentElement.offsetTop;
  119.                 if (ancore[i].parentElement.offsetTop>posPagina){
  120.                     delta=ancore[i].parentElement.offsetTop;
  121.                     trovata=true;
  122.                 }//if
  123.                 if (posPagina==pageBase.scrollHeight-parent.frames[2].document.documentElement.scrollHeight+parseInt(page.top)){
  124.                     delta=ancore[0].parentElement.offsetTop;
  125.                 }//if 
  126.             }//if
  127.                                     
  128.             i=i+1;
  129.         
  130.         }//while
  131.                 
  132. //        window.alert("DELTA: "+delta);
  133.         
  134.         if (nome == "zero")
  135.             //ancore[deltaPrima].scrollIntoView(true)
  136.             //jump(-deltaPrima);
  137.             parent.frames[2].scrollTo(0, deltaPrima);
  138.             
  139.         if (nome == "five")
  140.             //ancore[delta].scrollIntoView(true)
  141.             //jump(-delta);
  142.             eeee=parent.frames[2].scrollTo(0, delta);
  143.  
  144. //        if (IE4){
  145. //        window.alert("\nI: "+(i-1)+
  146. //        "\nAncore[i].parentElement.offsetTop: "+ancore[i-1].parentElement.offsetTop+
  147. //        "\nAncore[i].y: "+ancore[i-1].y+
  148. //        "\nAncore[i].clientTop: "+ancore[i-1].clientTop+
  149. //        "\nAncore[i].top: "+ancore[i-1].top+
  150. //        "\nAncore[i].parentTop: "+ancore[i-1].parentTop+
  151. //        "\nposPagina: "+posPagina+
  152. //        "\nConfronto: "+ (ancore[i-1].parentElement.offsetTop>posPagina)+
  153. //        "\nDelta: "+delta+
  154. //        "\nHeight: "+pageBase.parentElement.scrollHeight+
  155. //        "\neee: "+eeee+
  156. //        "\npageBase.scrollHeight: "+pageBase.scrollHeight+
  157. //        "\nparentframes2.document.documentElement.scrollHeight: "+parent.frames[2].document.documentElement.scrollHeight+
  158. //        "\npagetop: "+page.top+
  159. //        "\nSommatoria: "+parseInt(pageBase.scrollHeight-parent.frames[2].document.documentElement.scrollHeight+parseInt(page.top))+
  160. //        "\nTrovata: "+trovata+
  161. //        "\nDeltaPrima: "+deltaPrima);
  162. //        }
  163.  
  164.     }//if
  165.  
  166. }//go
  167.  
  168. //  End -->